const api = require("../../../../utils/cloudAPIUtils");
const app = getApp();


Page({
  data: {
    deviceSn:null, //序列号
    deviceInfo:{}, //设备信息
    bindIndex:-1,   //当前选中充电口
    isRun:true,
    workingOrder:{}
  },

  /**
   * 初始化：获取设备信息，并将其存储到全局
   * （若设备不可用，则直接返回首页）
   * @param {*} deviceSn 设备信息
   */
  _init(deviceSn){
    let self = this;
    wx.showLoading({
      title: '加载中...',
      mask:true
    })
    //api-获取设备信息
    api.post(api.url.cdczScan,{
      deviceSn:deviceSn
    },(res)=>{
      console.log(res)
      if(res.data.code==200){
        wx.hideLoading();
        //若设备离线\饱和，则使用返回首页
        if(res.data.body.state!=1){
          let msg = (res.data.body.state==2)?"设备离线":"设备饱和"
          msg += ",请使用其他设备";
          wx.showModal({
             content: msg,
             showCancel:false,
             complete:()=>{
                self.toIndex();
             }
          })
          return;
        }
        self.setData({
          deviceInfo:res.data.body
        })
        app.globalData.deviceInfo = res.data.body;
        self._getWorking();
      }else{
        wx.hideLoading();
        wx.showModal({
            content: '未获取设备状态，请稍后再试！',
            showCancel:false,
            complete:()=>{
               self.toIndex();
            }
        })
      }
    },()=>{
        wx.hideLoading();
        wx.showModal({
            content: '网络超时，请稍后再试！',
            showCancel:false,
            complete:()=>{
                self.toIndex();
            }
        })
    })
  },

  _getWorking(){
    const self = this;
    api.post(api.url.cdczWorking,{
      deviceSn:this.data.deviceSn
    },res=>{
      console.log(res)
      if(res.data.code==200){
        self.setData({workingOrder:res.data.body})
      }
    })
  },

  btnSettingUse(){
      const self = this;
      wx.showModal({
        title: '常用设备',
        content: '设置为常用设备？',
        complete: (res) => {
          if (res.confirm) {
            api.post(api.url.useDeviceAdd,{
                deviceSn:self.data.deviceSn
              },res=>{
                  if(res.data.code==200){
                    wx.showToast({title: '设置成功！',icon:'none'})
                  }else if(res.data.msg){
                    wx.showModal({
                      content: res.data.msg,
                      showCancel:false
                    })
                  }else{
                    wx.showToast({title:'设置失败',icon:'error'})
                  }
              })
          }
        }
      })
  },
  /** 选择充电口，状态非空闲阻止其选中 */
  btnSelect(e){
    const data = e.currentTarget.dataset;
    if(data.num!=1){
        wx.showModal({
          content: '充电口非空闲状态,请选择空闲充电口!',
          showCancel:false
        })
    }else{
      if(!this.data.isRun){
        wx.showModal({
            content: '您当前有未结费订单，暂不能使用其他充电桩！',
            showCancel:false
        })
        return
      }
      this.toNext(data.index);
    }
  },

  /**【暂无使用】 确认按钮，点击确定跳转页面 */
  btnConfirm(){
    let data = this.data;
    if(data.bindIndex<0){
      wx.showToast({
        title: '请选择充电口',
        icon:'error'
      })
      return;
    }
    // this.toNext();
  },


  toNext(index){
    wx.navigateTo({
      url: '/packageA/pages/cdcz/select2/select?deviceSn='+this.data.deviceSn+'&num='+index,
    })
  },
  toIndex(){
    wx.reLaunch({
      url: '/pages/index/index',
    })
  },

  onLoad(options) {
    console.log(options)
    if(options.deviceSn){
      this.setData({
        deviceSn:options.deviceSn
      })
      this._init(options.deviceSn)
    }else{
        const self = this;
        wx.showModal({
            content: '未获取设备信息',
            showCancel:false,
            complete:()=>{
                self.toIndex();
            }
        })
    }
  },
})